<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let result=['1','2','3'].map(parseInt)//[1,NaN,NaN]
        /**
         * 为什么这个道题会返回结果是这样的？我们来分析一下
         * 首先我们来看map，数组的map方法接受一会callback函数，mao的最终返回结果的数组中的元素是根据callback的返回值来确定的
         * 而此时，这个callback就是parseInt函数
         * 当map在遍历的时候会之后这个callback，并且给这个callback传递三个参数
         * 也就是给parseInt传递三个参数，目前我们不看第三个参数
         * 这里，第一个参数就是当前元素，第二个参数就是当前元素的索引
         * 所以我们可以把这个parseInt看成parseInt(item,index)
         * 然后来分析，parseInt() 函数可解析一个字符串，并返回一个整数。
         * parseInt(string, radix)
         * string:要被解析的字符串，
         * radix：表示要解析的数字的基数。该值介于 2 ~ 36 之间。如果省略该参数或其值为 0，则数字将以 10 为基础来解析。
         * 如果该参数小于 2 或者大于 36，则 parseInt() 将返回 NaN。
         * 
         * 那么。我们来看看
         * parseInt（'1',0)radix为0时，且string参数不以“0x”和“0”开头时，按照10为基数处理。这个时候返回1
         * parseInt（'2',1)基数为1，所以无法解析，返回NaN
         * parseInt（'3',2)基数为2（2进制）表示的数中，最大值小于3，所以无法解析，返回NaN
         * /
    </script>
</body>
</html>